import axios from 'axios'
axios.defaults.timeout = 5000
axios.defaults.baseURL = 'http://localhost:3000/'
// 请求拦截器
axios.interceptors.request.use((config) => {
  const token = window.sessionStorage.getItem('token')
  if (token) {
    config.headers.Authorization = token
  }
  return config
})
// 响应拦截器
axios.interceptors.response.use((response) => {
  if (response.data.code === 10010 || response.data.code === 10011) {
    this.$router.push('/login')
    this.$message.error('token无效或过期')
    return
  }
  return response
})
// 封装get方法
export function get(url, params) {
  return new Promise((resolve, reject) => {
    axios
      .get(url, {
        params: params
      })
      .then((res) => {
        resolve(res.data)
      })
      .catch((err) => {
        reject(err.data)
      })
  })
}
// 封装post方法
export function post(url, params) {
  return new Promise((resolve, reject) => {
    axios
      .post(url, params, {
        headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
      })
      .then((res) => {
        resolve(res.data)
      })
      .catch((err) => {
        reject(err.data)
      })
  })
}
